package 多线程.课后作业.M4;

/**
 * 4）、模拟一个银行存款的程序。假设有两个储户都去银行往同一个账户进行存款，
 * 一次存100，每人存三次。要求储户每存一次钱，账户余额增加100，
 * 并在控制台输出当前账户的余额。
 */
    class Bank{
        private int money = 0;
        public void deposits(){
            money+=100;
        }
      public String toString(){
            return "\t余额："+money+"元";
      }


    }
    class User implements Runnable{
        Bank bank = new Bank();
        @Override
        public void run() {
            int num = 0;
            while (num<3){
                num++;
                synchronized (this){
                    bank.deposits();
                    System.out.println(Thread.currentThread().getName()
                            +      "正在"+(num)+"次存100元"+ bank.toString());
                }
            }
        }

     public static void main(String[] args) {
        User user = new User();
        new Thread(user,"用户A").start();
        new Thread(user,"用户B").start();
        new Thread(user,"用户C").start();

    }
}

